#include <stdio.h>

// 定义共用体类型
union Test{
	int a;
	char b;
	short c;
	long long d;
};

int main(int argc, const char *argv[])
{
	// 使用共用体类型定义变量
	union Test t;
	printf("%ld\n", sizeof(t)); // 8

	// 共用体访问成员的方式 和 结构体一模一样
	t.a = 1234;
	printf("t.a = %d\n", t.a); // 1234

	// 由于共用体中所有成员是公用同一块内存空间的
	// 修改了一个成员 其他成员的值也会受影响
	// 注意：不要同时使用共用体的多个成员
	t.b = 88;
	printf("t.b = %d\n", t.b); // 88
	printf("t.a = %d\n", t.a); // 1112

	return 0;
}
